#ifndef BUTTON_H
#define BUTTON_H

#include <QPushButton>
#include <QString>
#include <QSignalMapper>


/*
Classe que define os botões da calculadora.

Todos os objetos dessa classe que são instanciados são QPushButtons modificados para estarem associados 
ao atalho do teclado correspondente ao texto presente no botão além de estarem conectados a um signalmapper.
*/

class Button : public QPushButton
{
    Q_OBJECT

public:
    // Construtor. Recebe o texto que estará presente no botão e o signalmapper a que ele estará associado.
    explicit Button(QString s, QSignalMapper *sm);

signals:
     // Sinal emitido quando o botão é clicado
     void clicked(const QString &s);

};

#endif // BUTTON_H
